Skip to main content

Assambly Dili

Assembly Dili

Assembly dili, bilgisayarların anlayabileceği makine diline çok yakın bir düşük seviye programlama dili olarak bilinir. Genellikle Assembly olarak adlandırılır ve donanım düzeyindeki işlemler için kullanılır.

Assembly dili, bir programlama dilinin en düşük seviyedeki formudur. İnsanların anlayabileceği bir dildir ancak makine diline oldukça yakındır. Bu dili kullanarak, bilgisayarın belleği, işlemcisi ve diğer donanımları gibi donanım bileşenleri üzerinde doğrudan kontrol sağlanabilir.

Assembly dilinin avantajları arasında, makine diline göre daha anlaşılabilir ve daha kolay yazılabilir olması, işletim sistemleri, sürücüler ve diğer düşük seviye yazılım bileşenleri için ideal olması ve işletim sistemi gibi yüksek seviye programların oluşturulması için temel bir anlayış sağlaması sayılabilir.

Ancak Assembly dilinin dezavantajları da vardır. Bunlar arasında, daha yavaş ve daha zor olması, programlama hatalarına neden olabilmesi ve daha karmaşık programların yazımının zaman almasıdır.

Assembly dilinin kullanım alanları arasında, düşük seviye işletim sistemi bileşenleri, sürücüler, gömülü sistemler, işletim sistemleri, cihaz sürücüleri ve yazılım araçları yer almaktadır.

Assembly Kodu

Bu örnekte, iki sayının toplama işlemi gerçekleştirilir.

section .data     ; Verilerin tanımlandığı bölüm
num1 db 10 ; İlk sayı
num2 db 5 ; İkinci sayı

section .text ; Kodun yazıldığı bölüm
global _start ; Başlangıç noktası

_start: ; Başlangıç etiketi
mov al, [num1] ; İlk sayıyı al
add al, [num2] ; İkinci sayıyı al ve topla
mov [result], al ; Toplam sonucunu 'result' değişkenine kaydet

mov eax, 1 ; 'exit' sistem çağrısı
xor ebx, ebx ; Hata kodu
int 0x80 ; Sistem çağrısı gerçekleştir

section .bss ; Verilerin tanımlandığı bölüm
result resb 1 ; Toplama sonucunu tutmak için değişken tanımla

Bu kodda, önce verilerin tanımlandığı bölümde "num1" ve "num2" değişkenleri tanımlanır. Daha sonra kodun yazıldığı bölümde, "mov" ve "add" komutları kullanılarak iki sayının toplamı hesaplanır ve sonuç "result" değişkenine kaydedilir. Son olarak, "exit" sistem çağrısı kullanılarak program sonlandırılır.

Tabii ki, bu sadece bir örnek ve daha karmaşık Assembly kodları yazılabilir. Ancak bu örnek, Assembly dilinin temel yapısını ve çalışma mantığını anlamak için yeterli olabilir.